/* 地球运动轨迹 */
#orbit-system {
  /*position: absolute;*/
  position: relative;
  width: 18em;
  height:30em;
  /*margin: 0 auto;*/
  bottom: 10px;
}

.system {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-transform: rotateX(75deg) rotateY(-30deg);
  transform: rotateX(75deg) rotateY(-30deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.planet, .satellite-orbit, .satellite {
  position: relative;
  top: 50%;
  left: 50%;
  
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.planet {
  width: 190px;
  height: 185px;
  margin-top: -20.5em;
  margin-left: -9.6em;
  
  border-radius: 50%;
  /*background-color: rgba(0,0,0,1);*/
  color: white;
  
  text-align: center;
  line-height: 9em;
  
  -webkit-transform: rotateY(30deg) rotateX(-75deg);
  transform: rotateY(30deg) rotateX(-75deg);
}

.satellite-orbit {
  width: 16em;
  height: 16em;
  margin-top: -8em;
  margin-left: -8em;
  
  border: 4px solid rgba(255,255,255,0.6);
  border-radius: 50%;
  
  -webkit-animation-name: orbit;
  animation-name: orbit;
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

.satellite {
  top: 100%;
  width:7px;
  height: 7px;
  margin-top: -2.5px;
  margin-left: -3.5px;
  -moz-box-shadow: 0px 0px 20px #333333;
  -webkit-box-shadow: 0px 0px 20px #fff;
  color: black;
  background-color:#fff;
  border-radius: 50%;
  text-align: center;
  line-height: 3em;
  
  -webkit-animation-name: invert-orbit;
  animation-name: invert-orbit;
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes orbit {
    0% {
        transform: rotateZ(0deg);
    }
    100% {
        transform: rotateZ(360deg);
    }
}
@keyframes orbit {
    0% {
        transform: rotateZ(0deg);
    }
    100% {
        transform: rotateZ(360deg);
    }
}

/*
In order to invert the rotation, do the rotate* transforms in reverse order.

Here, we rotated the system with rotateX(75deg) rotateY(-30deg), and then we are animating the rotation of the orbit with rotateZ(0-360deg). To reverse that, we need to reverse the last transform applied (rotateZ), then rotateY, then rotateX.

The rotateX/Y reversal is easy since it's not animated, so just use its opposite (30deg, -75deg). The rotateZ is trickier since it's animating, but since it's rotating from 0 to 360, we just need to animate the satellite from 360 to 0.
*/
@-webkit-keyframes invert-orbit {
    0% {
        transform: rotateZ(360deg) rotateY(30deg) rotateX(-75deg);
    }

    100% {
        transform: rotateZ(0deg) rotateY(30deg) rotateX(-75deg);
    }
}
@keyframes invert-orbit {
    0% {
        transform: rotateZ(360deg) rotateY(30deg) rotateX(-75deg);
    }

    100% {
        transform: rotateZ(0deg) rotateY(30deg) rotateX(-75deg);
    }
}


